Towards an Operational Semantics for Alloy
نویسندگان
چکیده
The Alloy modeling language has a mathematically rigorous denotational semantics based on relational algebra. Alloy specifications often represent operations on a state, suggesting a transition-system semantics. Because Alloy does not intrinsically provide a notion of state, however, this interpretation is only implicit in the relational-algebra semantics underlying the Alloy Analyzer. In this paper we demonstrate the subtlety of representing state in Alloy specifications. We formalize a natural notion of transition semantics for state-based specifications and show examples of specifications in this class for which analysis based on relational algebra can induce false confidence in designs. We characterize the class of facts that guarantees that Alloy’s analysis is sound for statetransition systems, and offer a sufficient syntactic condition for membership in this class. We offer some practical evaluation of the utility of this syntactic discipline and show how it provides a foundation for program synthesis from Alloy.
منابع مشابه
A Lightweight Approach for Defining the Formal Semantics of a Modeling Language
To define the formal semantics of a modeling language, one normally starts from the abstract syntax and then defines the static semantics and dynamic semantics. Having a formal semantics is important for reasoning about the language but also for building tools for the language. In this paper we propose a novel approach for this task based on the Alloy language. With the help of a concrete examp...
متن کاملTowards a Mathematical Operational Semantics
We present a categorical theory of ‘well-behaved’ operational semantics which aims at complementing the established theory of domains and denotational semantics to form a coherent whole. It is shown that, if the operational rules of a programming language can be modelled as a natural transformation of a suitable general form, depending on functorial notions of syntax and behaviour, then one get...
متن کاملFormalization of fUML: An Application to Process Verification
Much research work has been done on formalizing UML Activity Diagrams for process modeling to verify different kinds of soundness properties (deadlock, unreachable activities and so on) on process models. However, these works focus mainly on the control-flow aspects of the process and have done some assumptions on the precise execution semantics defined in natural language in the UML specificat...
متن کاملTowards a Theory of Reeective Programming Languages
This paper attempts to develop a better theoretical understanding of reeective systems. We begin by a developing a reeective extension of the v-calculus and deene a simple operational semantics for it based on the innnite tower model described in 10]. We then develop an equational logic from this semantics. The resulting logic is shown to be weak because of reeective properties. We establish pr...
متن کاملTowards a Theory of Re ective Programming Languages (
This paper attempts to develop a better theoretical understanding of re ective systems. We begin by a developing a re ective extension of the v -calculus and de ne a simple operational semantics for it based on the in nite tower model described in [10]. We then develop an equational logic from this semantics. The resulting logic is shown to be weak because of re ective properties. We establish ...
متن کامل